module.exports = function() {
        return {
            count: () => this.count,
            rowWasClicked: this.rowWasClicked,
            render: this.render,
            opts: () => this.opts,
            limit: () => this.limit,
            setLimit: this.setLimit,
            perPageValues: () => this.perPageValues,
            page: () => this.page,
            id: this.id,
            theme: this.theme,
            display: this.display,
            origColumns: this.columns,
            allColumns: () => this.allColumns,
            sortableClass: this.sortableClass,
            getHeadingTooltip: this.getHeadingTooltip,
            getHeading: this.getHeading,
            sortable: this.sortable,
            sortableChevronClass: this.sortableChevronClass,
            orderByColumn: this.orderByColumn,
            filteredData: () => this.filteredData,
            tableData: () => this.tableData,
            source: this.source,
            colspan: () => this.colspan,
            setEditingCell: this._setEditingCell,
            revertValue: this._revertValue,
            updateValue: this._updateValue,
            editing: () => this.editing,
            hasChildRow: () => this.hasChildRow,
            getChildRowTemplate: this._getChildRowTemplate,
            openChildRows: () => this.openChildRows,
            vuex: this.vuex,
            name: this.name,
            setPage: this.setPage,
            totalPages: () => this.totalPages,
            query: () => this.query,
            filterable: this.filterable,
            filterType: this._filterType,
            columnClass: this.columnClass,
            search: this._search,
            getColumnName: this._getColumnName,
            onlyColumn: this._onlyColumn,
            toggleColumn: this.toggleColumn,
            toggleColumnsDropdown: this._toggleColumnsDropdown,
            displayColumnsDropdown: () => this.displayColumnsDropdown,
            childRowTogglerClass: this.childRowTogglerClass,
            toggleChildRow: this.toggleChildRow,
            componentsOverride: this.componentsOverride,
            getValue: this._getValue,
            cellClasses: this._cellClasses,
            toggleGroup: this.toggleGroup,
            groupToggleIcon: this.groupToggleIcon,
            getGroupSlot: this.getGroupSlot,
            toggleGroupDirection: this._toggleGroupDirection,
            collapsedGroups: () => this.collapsedGroups,
            userMultiSorting: () => this.userMultiSorting,
            hasMultiSort: this.hasMultiSort,
            orderBy: () => this.orderBy,
            isListFilter: this.isListFilter,
            optionText: this.optionText,
            dateFormat: this.dateFormat,
            formatDate: this.formatDate,
            tabIndex: () => this.tabIndex,
            loading: () => this.loading,
            initialRequestSent: () => this.initialRequestSent
        }
}
